Formatting 3d content for low frame-rate displays

ABSTRACT

Converting three-dimensional ( 3 D) video content for use by a variety of different display devices of different capabilities involves decoding a  3 D video signal into two frame buffers. One implementation includes receiving an input  3 D video signal that comprises video frames having image data for viewing by a first eye and image data for viewing by a second eye. The implementation includes generating, from the input  3 D signal, a first and second frame buffer. The first frame buffer can store a complete first image for viewing by the first eye, while the second frame buffer can store a complete second image for viewing by the second eye. The implementation can further comprise encoding the complete first image into a first video frame and encoding the complete second image into a second video frame of an output  3 D video signal.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a U.S. National Stage Applicationcorresponding to PCT Patent Application No. PCT/US2011/027175, filedMar. 4, 2011, which claims priority to U.S. Provisional Application No.61/416,708, filed Nov. 23, 2010, entitled “3D VIDEO CONVERTER.” Thepresent application is also a continuation-in-part of: PCT PatentApplication No. PCT/US2011/025262, filed Feb. 17, 2011, entitled“BLANKING INTER-FRAME TRANSITIONS OF A 3D SIGNAL;” PCT PatentApplication No. PCT/US2011/027933, filed Mar. 10, 2011, entitled“DISPLAYING 3D CONTENT ON LOW FRAME-RATE DISPLAYS;” PCT PatentApplication No. PCT/US2011/027981, filed Mar. 10, 2011, entitled“SHUTTERING THE DISPLAY OF INTER-FRAME TRANSITIONS;” PCT PatentApplication No. PCT/US2011/032549, filed Apr. 14, 2011, entitled“ADAPTIVE 3-D SHUTTERING DEVICES;” and PCT Patent Application No.PCT/US2011/031115, filed Apr. 4, 2011, entitled “DEVICE FOR DISPLAYING3D CONTENT ON LOW FRAME-RATE DISPLAYS.” The entire content of each ofthe foregoing applications is incorporated by reference herein.

BACKGROUND

1. The Field of the Invention

This invention relates to systems, methods, and computer programproducts related to conversion and presentation of three-dimensionalvideo content.

2. Background and Relevant Art

Three-dimensional (3D) display technology involves presentingtwo-dimensional images in such a manner that the images appear to thehuman brain to be three-dimensional. The process typically involvespresenting “left” image data to the left eye, and “right” image data tothe right eye. When received, the brain perceives this data as a 3Dimage. 3D display technology generally incorporates the use of afiltering or blanking device, such as glasses, which filter displayedimage data to the correct eye. Filtering devices can be passive, meaningthat image data is filtered passively (e.g., by color code or bypolarization), or active, meaning that the image data is filteredactively (e.g., by shuttering).

Traditional display devices, such as computer monitors, television sets,and portable display devices, have been either incapable of producingsuitable image data for 3D viewing, or have produced an inferior 3Dviewing experience using known devices and processes. For instance,viewing 3D content from traditional display devices, generally resultsin blurry images and/or images that have “ghosting” effects, both ofwhich may cause headache, discomfort, and even nausea in the viewer.This is true even for display devices that incorporate more recentdisplay technologies, such as Liquid Crystal Display (LCD), Plasma,Light Emitting Diode (LED), Organic Light Emitting Diode (OLED), etc

Recently, 3D display devices specifically designed for displaying 3Dcontent have become increasingly popular. These 3D display devices aregenerally used in connection with active filtering devices (e.g.,shuttering glasses) to produce 3D image quality not previously availablefrom traditional display devices. These 3D display devices, however, arerelatively expensive when compared to traditional display devices.

Furthermore, producers of 3D content and manufacturers of 3D displaydevices have developed a variety of 3D encoding formats for encoding 3Dimage data. Unfortunately, particular 3D display devices usecorresponding specific 3D encoding formats. As a result, traditionaldisplay devices generally are not compatible with 3D content producedfor 3D display devices. Thus, consumers are faced with the purchase ofexpensive 3D display devices, even when they may already havetraditional display devices available. Furthermore, if a consumerdecides to purchase a specialized 3D display device they are limited todisplaying 3D content specifically designed for their particular 3Ddisplay device. Accordingly, there a number of considerations to be maderegarding the display of 3D content.

BRIEF SUMMARY OF THE INVENTION

One or more implementations of the present invention provide systems,methods, and computer program products configured to enable users toview three-dimensional (3D) content encoded in a variety of 3D encodingformats on a broad range of display devices. One or more implementationscan convert received 3D input content into 3D output content that iscustomized for a destination display device. Even when viewed ontraditional display devices, the 3D output content can provide a visualquality that can match or even exceed the visual quality of 3D contentviewed on specialized 3D display devices. Accordingly, implementationsof the present invention can alleviate or eliminate the need to purchasea 3D display device by allowing a viewer to view 3D content encoded invirtually any 3D encoding format on traditional display devices.

For example, one or more implementations can include a method offormatting three-dimensional video content for display on a low-framerate display device by decoding three-dimensional video content into twoframe buffers. The method can involve receiving an input 3D videosignal. The input 3D video signal can include video frames having imagedata for viewing by a first eye and image data for viewing by a secondeye. The method can also involve generating a first frame buffer fromthe input three-dimensional video signal that includes a complete firstimage for viewing by the first eye. In addition, the method can involvegenerating a second frame buffer from the input three-dimensional videosignal that includes a complete second image for viewing by the secondeye. Furthermore, the method can involve generating an outputthree-dimensional video signal by encoding the complete first image fromthe first frame buffer into a first video frame and encoding thecomplete second image from the second frame buffer into a second videoframe.

In addition, a method of decoding a video frame into two frame buffersto generate a three-dimensional video signal capable of display on alow-frame rate display device can involve receiving an input video frameof a 3D video signal. The input video frame including a first image forviewing by a first eye and second image for viewing by a second eye.Additionally, the method can involve decoding the first image of theinput video frame into a first frame buffer. The method can also involvedecoding the second image of the input video frame into a second framebuffer. Furthermore, the method can involve encoding a first outputvideo frame from the first frame buffer. The first output video framecan include image data from only the first image. In addition, themethod can involve encoding a second output video frame from the secondframe buffer. The second output video frame can include image data fromonly the second image.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

Additional features and advantages of exemplary implementations of theinvention will be set forth in the description which follows, and inpart will be obvious from the description, or may be learned by thepractice of such exemplary implementations. The features and advantagesof such implementations may be realized and obtained by means of theinstruments and combinations particularly pointed out in the appendedclaims. These and other features will become more fully apparent fromthe following description and appended claims, or may be learned by thepractice of such exemplary implementations as set forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and otheradvantages and features of the invention can be obtained, a moreparticular description of the invention briefly described above will berendered by reference to specific embodiments thereof which areillustrated in the appended drawings. It should be noted that thefigures are not drawn to scale, and that elements of similar structureor function are generally represented by like reference numerals forillustrative purposes throughout the figures. Understanding that thesedrawings depict only typical embodiments of the invention and are nottherefore to be considered to be limiting of its scope, the inventionwill be described and explained with additional specificity and detailthrough the use of the accompanying drawings in which:

FIG. 1 illustrates a schematic diagram of a conversion system fordecoding three-dimensional content in accordance one or moreimplementations of the present invention;

FIG. 2 illustrates flow diagrams demonstrating decoding variousthree-dimensional encoding formats into first and second frame buffersin accordance with one or more implementations of the present invention;

FIG. 3 illustrates a schematic diagram of a system for use in formattingand displaying a three-dimensional video signal in accordance with oneor more implementations of the present invention;

FIG. 4 illustrates a schematic diagram of the video processing device inaccordance with one or more implementations of the present invention;

FIG. 5 illustrates a schematic diagram of shuttering the display of 3Dvideo content in response to a blanking signal in accordance one or moreimplementations of the present invention;

FIG. 6 illustrates a flowchart of a series of acts in a method inaccordance with an implementation of the present invention of formattingthree-dimensional video content for display on a low-frame rate displaydevice by decoding three-dimensional video content into two framebuffers; and

FIG. 7 illustrates a flowchart of a series of acts in a method inaccordance with an implementation of the present invention of decoding avideo frame into two frame buffers to generate a three-dimensional videosignal capable of display on a low-frame rate display device.

DETAILED DESCRIPTION

One or more implementations of the present invention provide systems,methods, and computer program products configured to enable users toview three-dimensional (3D) content encoded in a variety of 3D encodingformats on a broad range of display devices. One or more implementationscan convert received 3D input content into 3D output content that iscustomized for a destination display device. Even when viewed ontraditional display devices, the 3D output content can provide a visualquality that can match or even exceed the visual quality of 3D contentviewed on specialized 3D display devices. Accordingly, implementationsof the present invention can alleviate or eliminate the need to purchasea 3D display device by allowing a viewer to view 3D content encoded invirtually any 3D encoding format on traditional display devices.

Specialized 3D display devices attempt to provide an enhanced 3D viewingexperience by modifying physical characteristics of the display deviceand by employing customized 3D encoding formats. For example,specialized 3D display devices can include physical modifications thatincrease the frame rate (i.e., the number of unique video frames thedisplay device can draw in a given amount of time) compared totraditional or low-frame rate display devices. Additionally, specialized3D display devices can also reduce the frame overlap interval (i.e., theperiod of time that elapses when transitioning between two frames)compared to traditional or low-frame rate display devices. Whendisplaying customized 3D encoding formats, these physical enhancements,can reduce potential side-effects of 3D viewing (e.g., motion blurringor ghosting).

One or more implementations of the present invention provide forconverting incoming 3D encoding formats, such as those used byspecialized 3D display devices, into outgoing 3D content tailored fordisplay by particular display device. One or more implementations caninclude generating two frame buffers from incoming 3D content. Eachframe buffer can include complete image data for a corresponding eye.Additionally, one or more implementations can also include generatingoutput 3D content from these frame buffers, based on physicalcharacteristics of the destination display device. Thus, one or moreimplementations of the present invention can allow viewing of 3D contenton a broad range of display devices, including display devices thatwould otherwise be incompatible with the 3D content, because the output3D content is tailored to the destination display device.

Additionally, one or more implementations can include generating ablanking signal in conjunction with the output 3D video signal thatblanks, some of, or all of the frame overlap interval of the destinationdisplay device from the user's view. Blanking the frame overlap intervalcan reduce or eliminate common side-effects of 3D viewing (e.g., motionblurring or ghosting) without modifying the destination display device(e.g., increasing the frame rate). Thus, one or more implementationsallow for viewing of 3D content on devices not designed for specificallyfor 3D content display, such as devices with lower frame rates andlonger frame overlap intervals.

FIG. 1, for example, illustrates a schematic diagram of a conversionsystem 100 for decoding 3D content from a variety of 3D encoding formatsin accordance one or more implementations of the present invention. FIG.1 illustrates that the conversion system 100 can receive input 3Dcontent 102 and can generate output 3D content 104. As illustrated,input 3D content 102 can comprise one or more video frames 114 a, 114 bthat encode 3D image data using one or more of a variety of 3D encodingformats. As discussed more fully in connection with FIG. 2, the input 3Dcontent 102 can use the one or more video frames 114 a, 114 b to encodeleft eye image data and right eye image data using any of a variety oftechniques.

FIG. 1 also illustrates that the conversion system 100 can include adecoder 106 and frame buffers 110, 112. The decoder 106 can detect the3D encoding format of input 3D content 102. The decoder 106 can thendecode left eye image data into one frame buffer (e.g., frame buffer110) and decode right eye image data into the other buffer (e.g., framebuffer 112). As illustrated more fully in FIG. 2, decoding can involveusing corresponding frame buffers to construct complete left eye imagedata and complete right eye image data. For instance, decoding mayinvolve decoding a plurality of video frames to construct a completeimage, which is stored in a frame buffer. Of course, decoding mayinvolve decoding one video frame to construct complete image data foreach frame buffer, or decoding a single video frame to constructcomplete image data for both frame buffers.

Additionally, FIG. 1 illustrates that the conversion system 100 caninclude an encoder 108 that generates output 3D content 104. After thedecoder 106 constructs complete left and right eye image data incorresponding frame buffers 110, 112, the encoder 108 can encode thisimage data into output 3D content 104. In one or more implementations,the encoder 108 encodes the output 3D content 104 in a “flip frame”encoding format, which comprises alternating left image data videoframes 116 and right image data video frames 118.

The conversion system 100 can also include a detection module 120. Thedetection module 120 can identify or determine the display and/orphysical characteristics of the display device to which the output 3Dcontent 104 is to be transmitted. For example, the detection module 120can receive input from a user identifying the display and/or physicalcharacteristics of the display device. Alternatively, upon connection tothe display device, the display detection module 120 can determine thedisplay and/or physical characteristics of the display device. Basedupon the determined display and/or physical characteristics of thedisplay device, the encoder 108 and/or the decoder 106 can tailor theoutput 3d content 104 specifically for the display device.

For instance, in one or more implementations, encoder 108 can adjust theframe size (e.g., number of vertical lines of resolution) of frames inoutput 3D content 104 for view on the destination display device (andbased on the input from the detection module 120). Additionally oralternatively, encoder 108 can generate progressive or interlaced videoframes in output 3D content 104. Progressive video frames includecomplete image data the encoded image, while interlaced vide framescontain only partial image data for the encoded image (e.g., odd linesor even lines). Furthermore, encoder 108 can also generate a frame ratecustomized for view on the destination display device, which may involveupscaling or downscaling the frame rate of input 3D content 102.

In one or more implementations, upscaling the frame rate can involveintroducing redundant frames into the output 3D content 104. Forinstance, the encoder 108 can generate output 3D content 104 thatincludes a left image data video frame 116 followed by a right imagedata video frame 118. The encoder 108 can then repeat this sequence bysending the same left image data video frame 116 followed by the sameright image data video frame 118. One will appreciate in light of thedisclosure herein that repeating the same image data can double theframe rate. For example, if input 3D content 102 has a frame rate of 60Hz (i.e., decoder 102 decodes 60 complete frames of image data persecond), then introducing the same image data twice can result in output3D content 104 having an upscaled frame rate of 120 Hz.

Downscaling, on the other hand, can involve reducing the number offrames in output 3D content 104. This may be useful when displayingoutput 3D content 104 on older display devices that may not be optimalfor, or capable of, displaying higher frame rates. Downscaling caninvolve omitting some frames of left and right image data stored inframe buffers 110 and 112. Downscaling can also involve detectingdifferences between sequential video frames and generating new framesthat capture these differences. The system 100 can generate the newframes at a lower rate than the original frames, thereby reducing theframe rate.

One will appreciate in light of the disclosure herein that the decoder106 and the encoder 108 can comprise hardware, software, or acombination thereof. In one or more implementations the decoder 106and/or the encoder 108 can comprise one or more constituent hardwaredecoders and/or encoders, which each decode and/or encode various 3Dencoding formats. In one or more other implementations, the decoder 106and/or the encoder 108 can implement software-based decoders and/orencoders. For example, the decoder 106 and/or the encoder 108 caninclude one or more Field Programmable Gate Arrays (FPGAs).

The decoder 106 and the encoder 108 can each be capable of encodingand/or decoding both analog and digital content. Thus, the conversionsystem 100 can convert input 3D content 102 that is digital into output3D content 104 that is analog. Alternatively, the conversion system 100can convert input 3D content 102 that is analog into output 3D content104 that is digital. Of course, the conversion system 100 can alsoconvert digital content to digital content, or analog content to analogcontent.

Turning now to FIG. 2, a plurality of flow diagrams illustrating 3Dencoding formats and resulting frame buffer data in accordance with oneor more implementations are shown. In light of the disclosure herein,one will appreciate that the illustrated 3D encoding formats representbut a few of the available 3D encoding formats, and are not limiting tothe 3D encoding formats that the system 100 can decode. In view of theseexamples, one of ordinary skill in the art could ascertain how to decodeother 3D encoding formats into separate frame buffers. Furthermore, inone or more implementations, 3D encoding formats and decoding techniquesare combined.

In one or more implementations, the input 3D content 102 (FIG. 1) isencodes image data as a plurality of interlaced frames. For example,FIG. 2 illustrates that the one or more video frames 114 (FIG. 1) caninclude interlaced frames 114 a, 114 b. Each interlaced frame 114 a, 114b can contain only part of the image data for a complete image. Forexample, one frame 114 a can encode odd numbered lines of image data,while another frame 114 b can encode even numbered lines of image data.Decoding these frames 114 a, 114 b can involve decoding each of theinterlaced frames and combining the decoded data into a singlecorresponding frame buffer to construct a complete image. In theillustrated case, decoding involves decoding two interlaced frames 114a, 114 b into one frame buffer 110 to construct image data for one eye,and decoding two interlaced frames 114 c, 114 d into another framebuffer 112 to construct image data for the other eye. Of course, othercombinations of interlacing techniques and frame sequences are possible.

Flow diagrams 204 and 206 illustrate 3D encoding formats utilizingspatial compression, which encodes a plurality of images within a singlevideo frame. For example, using “over under” spatial compression inframe 114 e, image data for each eye is encoded using the upper andlower halves of the frame. Similarly, using “side by side” spatialcompression in frame 114 f, image data for each eye is encoded using theleft and right halves of the frame 114 f. In these contexts, decodingcan include extracting image data for both eyes from a single frame, andstoring image data for each single eye in corresponding frame buffers110, 112. One will appreciate that the decoding process can involveresizing and/or altering the aspect ratio of each image. Additionally,the decoding process can involve constructing an image with lowerresolution than the spatial frame, etc.

Flow diagram 114 c illustrates yet another 3D encoding format thatutilizes interleaving. Similar to “over under” and “side by side”encoding, interleaving incorporates image data for both eyes in a singleframe. Instead of separating image data on different halves of theframe, however, interleaving interleaves the image data. Interleavingcan include interleaving odd lines of one image with even lines ofanother image, interleaving odd columns of one image with even columnsof another image, interleaving opposite checkerboard patterns, etc. Inthis context, decoding can also include extracting image data for botheyes from a single frame, and storing image data for each single eye incorresponding frame buffers 110, 112.

Thus, the conversion system 100 can receive input 3D content 102 thatuses a variety encoding techniques (e.g., spatial compression,interleaving, etc.) and generates output 3D content 104 that is capableof being displayed by a traditional display device (i.e., a low framerate device). As illustrated in FIG. 2, in one or more implementationsthe conversion system 100 can receive a single video frame (e.g., videoframe 114 e, 114 f, or 114 g) that includes left and right image data.The conversion system 100 can then convert that combined frame 114 e,114 f, 114 g to separate video frames 110, 112 each encoding only leftor only right image data. Such a conversion technique can enable theviewing of the output 3D content 104 on traditional display devices notcapable of parsing or displaying the combined frame 114 e, 114 f, 114 g.Furthermore, by combining these conversion techniques with an“inter-frame blanking” signal (discussed more fully herein after), the3D content is viewable even on traditional display devices having lowframe rates.

Turning now to FIG. 3, a schematic diagram of a system 300 for use indecoding a three-dimensional video signal into two frame buffers, inaccordance with one or more implementations is shown. FIG. 3 illustratesthat the system 300 can include a video processing device 302, one ormore blanking devices 304, and a display device 306. These devices canbe separate or combined. For instance, in one or more implementationsthe video processing device 302 and the display device 306 are separateunits, while in one or more other implementations these devices form asingle unit.

In one or more implementations the video processing device 302 receivesa 3D video signal from a media device. The media device can comprise anynumber of devices capable of transmitting a 3D video signal to the videoprocessing device 302. For example, FIG. 3 illustrates that the mediadevice can comprise a streaming source 308 (e.g., a satellite box, cablebox, internet), a gaming device (e.g., XBOX 310, PLAYSTATION 316), aplayer device (e.g., Blu-Ray player 312, DVD player 314), etc. In one ormore implementations, the media device can receive 3D video content froman optical media, such as a DVD or Blu-Ray disc 318. In alternativeimplementations, the media device can receive the 3D video content viathe Internet, a cable provider, or a satellite dish.

Of course, the video processing device 302 can, itself, include one ormore media devices. Thus, the video processing device 302 can bedirectly connected a satellite dish, a cable provider, the Internet,etc. Additionally or alternatively, the video processing device 302 canbe a player device that receives 3D video content directly from opticalmedia. In one or more implementations, the video processing device 302can also comprise a gaming device.

In any event, the video processing device 302 receives input 3D content102 and converts the input 3D content 102 into output 3D content 104suitable for the display device 306. The video processing device 302also transmits the output 3D content 104 to the display device 306 fordisplay to one or more users. Prior to or concurrently with sending theoutput 3D content 104, the video processing device 302 can also transmita blanking signal to the blanking devices 304. As instructed by theblanking signal, the blanking devices 304 can synchronously blankportions of the displayed output 3D content 104 from view to create theillusion that two-dimensional images are 3D. The blanking signal isdiscussed more fully herein below in connection with FIG. 5.

The video processing device 302 can communicate with the display device306 and the blanking device(s) 304 in any appropriate manner. Forinstance, an appropriate wired mechanism, such as High Definition MediaInterface (HDMI), component, composite, coaxial, network, optical, andthe like can couple the video processing device 302 and the displaydevice together. Additionally, or alternatively, an appropriate wirelessmechanism, such as BLUETOOTH, Wi-Fi, etc., can couple the videoprocessing device 302 and the display device 306 together. Likewise, anyappropriate wired or wireless mechanism (e.g., BLUETOOTH, infrared,etc.) can couple the video processing device 302 and the blankingdevice(s) 304 together.

One will appreciate that the video processing device 302 can generateany appropriate output signal comprising output 3D content 104. Forexample, when the video processing device 302 and the display device 306are coupled via a digital mechanism (e.g., HDMI), the video processingdevice 302 can generate a digital signal that includes the output 3Dcontent 104. On the other hand, when the video processing device 302 andthe display device 306 are coupled via an analog mechanism (e.g.,component, composite or coaxial), the video processing device 302 cangenerate an analog signal that includes the output 3D content 104.

One will appreciate in view of the disclosure herein that the videoprocessing device 302 can take any of a variety of forms. For example,the video processing device 302 may be a set-top box or other customizedcomputing system. The video processing device 302 may also be a generalpurpose computing system (e.g., a laptop computer, a desktop computer, atablet computer, etc.). Alternatively, the video processing device 302 aspecial purpose computing system (e.g., a gaming console, a set-top box,etc.) that has been adapted to implement one or more disclosed features.

The display device 306 can be any one of a broad range of displaydevices that incorporate a variety of display technologies, both currentand future (e.g., Cathode Ray, Plasma, LCD, LED, OLED). Furthermore, thedisplay device 306 can take any of a number of forms, such as atelevision set, a computer display (e.g., desktop computer monitor,laptop computer display, tablet computer display), a handheld display(e.g., cellular telephone, PDA, handheld gaming device, handheldmultimedia device), or any other appropriate form. While the displaydevice 306 can be a display device designed specifically to displaying3D content, display device 306 can also be a more traditional displaydevice.

The blanking device(s) 304 can be any blanking device(s) configured tointeroperate with video processing device 302 and to respond to one ormore blanking instructions received via a blanking signal. In one ormore implementations, the blanking device(s) 304 comprise shutteringglasses that include one or more shuttering components that selectivelyblock a user's view of the display device 306. In one or moreimplementations, the blanking device(s) 304 are capable of selectivelyblanking a left eye view, a right eye view, and a view from both eyes.The blanking device(s) 304 can also refrain from blanking any part ofthe user's view. When used in connection with an appropriate blankingsignal synchronized with displayed 3D content, the blanking device(s)304 can provide the illusion that two-dimensional content is 3D.

In one or more implementations, the blanking device(s) 304 compriseshuttering components that include one or more liquid crystal layers.The liquid crystal layers can have the property of becoming opaque (orsubstantially opaque) when voltage is applied (or, alternatively, whenvoltage is removed). Otherwise, the liquid crystal layers can have theproperty being transparent (or substantially transparent) when voltageis removed (or, alternatively, when voltage is applied). Thus, theblanking device(s) 304 can apply or remove voltage from the shutteringcomponents to block the user's view, as instructed by the blankingsignal.

FIG. 4 illustrates a schematic diagram of the video processing device302 in accordance with one or more implementations. As illustrated,video processing device 302 can include a plurality of constituentcomponents, including a video receiver component 402, a videotransmitter component 404, a processing component 406, and a blankingsignal transmitter component 408. Of course, the video processing device302 can include any number of additional components. The videoprocessing device 302 can also include fewer components than thoseillustrated.

The video receiver component 402 can receive a 3D video signal from anyappropriate source, such as a media device. The video transmittercomponent 404 can send the 3D video signal to the display device 306,either in its original form or in a modified form. One will appreciatethat these components can be combined as a single component, or can evenbe eliminated altogether (e.g., when the video processing device 302 isintegrated with the display device 306). The video receiver component402 can receive a plurality of 3D video signal formats, and the videotransmitter component 404 can transmit a plurality of 3D video signalformats, including a universal 3D video signal format.

The processing component 406 can process the received input 3D content.Processing component 406 can include any number constituent components.In one or more implementations, for example, the processing component406 comprises conversion system 100. Thus, the processing component 406can include the decoder 106, the encoder 108, and the frame buffers 110,112. Using conversion system 100, the processing component 406 canconvert the received input 3D content into output 3D content that iscustomize for the display device 306.

In one or more implementations, converting the received 3D video signalinto the output 3D content can include decoding (e.g., with the decoder106) the received 3D video signal into two frame buffers (e.g., framebuffers 110, 112), in the manner discussed herein above with referenceto FIGS. 1 and 2. This can include decoding right eye image data intoone frame buffer and decoding left eye image data into the other framebuffer. After decoding the image data into the two frame buffers, themethod can also include encoding (e.g., with the encoder 108) the storedleft and right image data into output 3D content (e.g., output 3Dcontent 104). In one or more implementations the output 3D contentcomprises a “flip frame” encoding format. When encoding “flip frame”,the encoding includes generating an alternating sequence of “left” and“right” video frames, each encoding corresponding left eye image dataand right eye image data from the frame buffers.

Of course, the “flip frame” encoding format can include any appropriatesequence of frames. For instance, when upscaling the frame rate, thesequence may be L1, R1, L1, R1, L2, R2, etc., where L1 and R1 correspondto first left and right images, and where L2 and R2 correspond to secondleft and right images. Alternatively, when encoding for a display device306 the receives interlaced video, the sequence may be L, L, R, R, etc.,where each left frame encodes only a portion of the left eye image dataand where each right frame encodes only a portion of the right eye imagedata. Of course, one will appreciate in light of this disclosure thatother sequences are also possible.

In one or more implementations, the processing component 406 alsogenerates a blanking signal which corresponds to the generated output 3Dcontent 104. The blanking signal can also take physical characteristics(e.g., frame rate and/or frame overlap interval) of the display device306 into account. The blanking signal can include one or more blankinginstructions that direct the blanking device(s) 304 to synchronouslyblank a viewer's left and right eyes to produce the illusion thattwo-dimensional content is 3D. The blanking instructions in the blankingsignal also correspond with displayed video frames of output 3D content.The blanking instructions in the blanking signal can also include one ormore blanking instructions which blank both eyes during transitionperiods during which the display device 306 transitions betweendisplaying two video frames. The timing of these “inter-frame blanking”instructions can be based on the frame rate and/or frame overlapinterval of the display device 306.

Inter-frame blanking signal transmitter 408 can transmit the generatedinter-frame blanking signal to one or more blanking devices (e.g.,blanking device(s) 304). As discussed herein above, the blanking signaltransmitter 408 can transmit wirelessly (e.g., BLUETOOTH or infrared) orwith a wired connection. Also discussed herein above, the blankingsignal transmitter 408 can employ any number of protocols, analog ordigital. In some circumstances, the blanking signal transmitter 408 isincorporated with the video processing device 302 or even with thedisplay device 306, while in other instances the blanking signaltransmitter 408 is a separate device (e.g., a separate USB device).

FIG. 5 illustrates a schematic diagram of a method shuttering thedisplay of 3D video content in response to a blanking signal, inaccordance one or more implementations. FIG. 5 illustrates thatdisplaying 3D content according to one or more implementations caninclude at least three different display states 502, 504, 506. Forexample, when the display device 306 displays “left eye content” 510 instate 502, the video processing device 302 can send a blanking signal tothe blanking device 304 including one or more data packets 511. The datapacket 511 can include instructions to use shuttering component 520 toblank the viewer's right eye view of the display device 306. Thus, uponreceipt of data packet 511, the blanking device 304 can blank or occludethe viewer's right eye view of the display device 306 using shuttingcomponent 520.

Similarly, when the display device 306 displays “right eye content” 514in state 506, the video processing device 302 can send a blanking signalto the blanking device 304 including one or more data packets 515. Thedata packet 515 can include instructions to use shuttering component 518to blank the viewer's left eye view of the display device 306. Thus,upon receipt of data packet 515, the blanking device 304 can blank orocclude the viewer's left eye view of the display device 306 usingshutting component 518.

These two blanking states alone can provide the illusion thattwo-dimensional images are actually 3D. Thus, the customized blankingsignal, when combined with customized output 3D content can enable thedisplay of 3D content on a broad range of display devices, even whenthose devices are not designed for the specific input 3D encodingformat.

One or more implementations of the present invention, however, providefor a third “inter-frame blanking” state which entirely blanks all orpart of the transition period that occurs during the transition betweentwo video frames. The transition period can occur due to physicallimitations of the display device 306 (e.g., lower frame rate and/orlong frame overlap) that cause the display device 306 to concurrentlydisplay portions of two transitioning images for a prolonged period oftime. State 504, for example, illustrates a portion of a frame overlaptime interval. During this time, the display device 306 displays an“inter-frame overlap” 512, in which the display device 306 concurrentlydisplays portions of the two video frames (e.g., “left eye content” 510and “right eye content” 514).

The video processing device 302 can send a blanking signal to theblanking device 304 including one or more data packets 513. The datapacket 513 can include instructions to use shuttering components 518,520 to blank the viewer's entire view of the display device 306. Thus,upon receipt of data packet 513, the blanking device 304 can blank orocclude the viewer's right and left eye views of the display device 306using shutting components 518, 520. Thus, during the inter-frameoverlap, the blanking device 304 can concurrently use both shutteringcomponents 518, 520 to blank portions of the viewer's view of thedisplay device 306 corresponding to both eyes.

By blanking both eyes during a frame overlap time interval, the blankingdevice 304 can prevent the user from viewing all or part of theinter-frame overlap 304 during all or part of the frame overlapinterval. This “inter-frame blanking” can enhance the clarity of theperceived 3D image by reducing or eliminating undesirable effects suchas motion blurring and ghosting that can commonly occur on displaydevices that have lower frame rates and/or longer frame overlapintervals. Thus, inter-frame blanking techniques, when combined with thecustomized output 3D content, can also enhance the quality of the viewed3D content, even when that content is viewed on display devices that arenot specifically designed for 3D content display (i.e., low frame ratedevices).

Accordingly, FIGS. 1-5 provide a number of components and mechanisms forconverting a plurality of 3D encoding formats into a universal 3Dencoding format by decoding input 3D content into two separate framebuffers and encoding output 3D content from the separate frame buffers.The output 3D content can be a universal 3D encoding format which can beviewed in connection with a blanking device controlled by a blankingsignal generated in connection with the output 3D content. Thus, one ormore disclosed implementations allow for viewing of 3D content on abroad range of display devices, even when that content is not originallyencoded for viewing on those devices.

Additionally, implementations of the present invention can also bedescribed in terms of flowcharts comprising one or more acts in a methodfor accomplishing a particular result. Along these lines, FIGS. 6-7illustrate flowcharts of computerized methods of decoding 3D contentinto two frame buffers. For example, FIG. 6 illustrates a flowchart of amethod of decoding a three-dimensional video signal into two framebuffers. Similarly, FIG. 7 illustrates a flowchart of a method ofdecoding a video frame into two frame buffers to generate athree-dimensional video signal. The acts of FIGS. 6 and 7 are describedherein below with respect to the schematics, diagrams, devices andcomponents shown in FIGS. 1-5.

For example, FIG. 6 shows that a method of decoding a 3D video signalinto two frame buffers can comprise an act 602 of receiving a 3D videosignal. Act 602 can include receiving an input 3D video signal, theinput 3D video signal comprising one or more video frames includingimage data for viewing by a first eye and image data for viewing by asecond eye. For example, the act can include the video processing device302 receiving input 3D content 102 that includes one or more videoframes 114 encoding left and right image data. In connection withreceiving the input 3D video signal, act 602 can also includedetermining an encoding type of the input 3D dimensional video signal.In some instances, for example, a plurality of video frames encode theleft and right image data (e.g., video frames 114 a, 114 b, 114 c, 114d), while in other instances a single video frame encodes the left andright image data (e.g., video frames 114 e, 114 f, 114 g).

FIG. 6 also shows that the method can comprise act 604 of generating afirst frame buffer and act 606 of generating a second frame buffer. Act604 can include generating a first frame buffer from the input 3D videosignal that includes a complete first image for viewing by the firsteye. Similarly, act 606 can include generating a second frame bufferfrom the input 3D video signal that includes a complete second image forviewing by the second eye. For example, acts 604 and 606 can involve thedecoder 106 decoding first image data for viewing by a first eye intothe first frame buffer 110, and the decoder 106 decoding second imagedata for viewing by a second eye into the second frame buffer 112.

Generating complete images can include decoding a plurality of videoframes for each image. For instance, generating the first frame buffer110 and generating the second frame buffer 112 can include decodingfirst image data and second image data from a plurality of interlacedvideo frames (e.g., interlaced video frames 114 a, 114 b, 114 c, 114 d).Of course, generating the first frame buffer 110 and generating thesecond frame buffer 112 can also include decoding first image data froma single progressive video frame and decoding second image data from adifferent progressive video frame. Furthermore, generating the firstframe buffer 110 and generating the second frame buffer 112 can includedecoding the complete first image and the complete second image from asingle spatially-compressed video frame. For example, the singlespatially-compressed video frame may be encoded using over-under (e.g.,video frame 114 e), side-by side (e.g., video frame 114 f), orinterleave (e.g., video frame 114 g) techniques.

In addition, FIG. 6 shows that the method can comprise an act 608 ofgenerating an output 3D video signal. Act 608 can include generating anoutput 3D video signal by encoding the complete first image from thefirst frame buffer into a first video frame and encoding the completesecond image from the second frame buffer into a second video frame. Forexample, the act can include the encoder 108 encoding image data fromthe first and second frame buffers 110, 112 into output 3D content 108.Encoding can include determining physical characteristics of thedestination display device 306, and customizing the output 3D content104 based on these physical characteristics.

For instance, when the destination display device takes interlacedframes, encoding the complete first image from the first frame buffer(e.g., frame buffer 110) into the first video frame 116 can includeencoding the first image into a first plurality of interlaced videoframes that include the first video frame. Similarly, encoding thecomplete second image from the second frame buffer (e.g., frame buffer112) into the second video frame 118 can include encoding the secondimage into a second plurality of interlaced video frames that includethe second video frame. Alternatively, when the destination displaydevice takes progressive frames, encoding can include encoding thecomplete first image into a progressive video frame that comprises thefirst video frame and encoding the complete second image into adifferent progressive video frame that comprises the second video frame.Additionally, generating the output 3D video signal can includeupscaling or downscaling a frame rate of the output 3D video signal, ascompared to the input 3D video signal.

Of course the method can include any number of additional acts. Forexample, the method can include an act of sending the output 3D videosignal to the display device 306. Sending the output 3D video signal caninclude formatting the output 3D video signal for the display device 306(e.g., as HDMI, composite, component, etc.) Additionally, the method caninclude an act of transmitting a blanking signal to one or more blankingdevices (e.g., blanking devices 304). As discussed herein above, theblanking signal can instruct the one or more blanking devices 304 toblank the entire display of the output three-dimensional video signalduring at least a portion of the display of a transition between aportion of the complete first image and a portion of the complete secondimage.

In addition to the foregoing, FIG. 7 illustrates a method of decoding avideo frame into two frame buffers to generate a 3D video signal. Themethod can comprise an act 702 of receiving an input video frame. Act702 can include receiving an input video frame of a 3D video signal, theinput video frame including a first image for viewing by a first eye andsecond image for viewing by a second eye. For example, the input videoframe can encode a complete first image and a complete second image(e.g., input video frames 114 e, 114 f). In this instance, the inputvideo frame can use a spatial compression technique, including at leastone of over-under or side-by side. Alternatively, the input video framecan encode only a portion of the first image and the second image, ascan be the case if the input video frame uses interlacing (e.g., inputvideo frames 114 a, 114 b, 114 c, 114 d).

FIG. 7 also shows that the method can comprise an act 704 of decoding afirst image from the input video frame. Act 704 can include decoding thefirst image of the input video frame into a first frame buffer. Forexample, the act can include the decoder 106 decoding first image datafor viewing by a first eye into the first frame buffer (e.g., framebuffer 110). In particular, the decoder 106 can parse the first imageintended for viewing with the first eye from the input video frame 114and store only image data from the first image in the first frame buffer110.

FIG. 7 also shows that the method can comprise an act 706 of decoding asecond image from the input video frame. Act 706 can include decodingthe second image of the input video frame into a second frame buffer.For example, the act can include the decoder 106 decoding second imagedata for viewing by a first eye into the second frame buffer (e.g.,frame buffer 112). In particular, the decoder 106 can parse the secondimage intended for viewing with the second eye from the input videoframe 114 and store only image data from the second image in the secondframe buffer 110.

In addition, FIG. 7 shows that the method can comprise an act 708 ofencoding a first output video frame. Act 708 can include encoding afirst output video frame from the first frame buffer. The first outputvideo frame can include image data from only the first image. Forexample, act 708 can involve encoder 108 extracting image data from thefirst image from the first frame buffer 110. The encoder 108 can thenencode the image data from the first image into a first video frame 116of an output 3D video signal 104.

In addition, FIG. 7 shows that the method can comprise an act 710 ofencoding a second output video frame. Act 708 can include encoding asecond output video frame from the second frame buffer. The secondoutput video frame can include image data from only the second image.For example, act 710 can involve encoder 108 extracting image data fromthe second image from the second frame buffer 110. The encoder 108 canthen encode the image data from the second image into a second videoframe 118 of an output 3D video signal 104.

Of course the method can include any number of additional acts. Forexample, the method can include one or more acts of transmitting thefirst output video frame and the second output video frame to a displaydevice 306. The display device 306 can include a low frame rate devicenot specifically designed to display 3D content. The method can includetransmitting the first output video frame and the second output videoframe to a display device 306 through an HDMI, component, composite,coaxial, network, or optical interface.

Additionally, the method can include generating and transmitting ablanking signal, which includes generating and transmitting a pluralityof blanking instructions to one or more blanking devices (e.g., blankingdevices 304). For example, a first blanking instruction can direct theone or more blanking devices 304 to blank at least a portion of thefirst eye's view of a display device during display of the second image,(e.g., state 502), while a second blanking instruction can direct theone or more blanking devices 304 to blank at least a portion of thesecond eye's view of the display device during display of the firstimage (e.g., state 506).

Furthermore, a third blanking instruction can direct the one or moreblanking devices 304 to blank both the first and second eye's view ofthe display device during display of at least a portion of thetransition between display of the first image and the second image(e.g., state 504). A blanking device can then use these blankinginstructions to provide the illusion of 3D content display, and toprovide high-quality 3D content display even on lower frame ratedevices.

Accordingly, FIGS. 1-7 provide a number of components and mechanisms fordecoding 3D video content into two frame buffers and for generatingoutput 3D content. One or more disclosed implementations allow forviewing of 3D content on a broad range of display devices, includingdevices that that may have lower frame rates and longer frame overlapintervals, or that are not otherwise specifically designed fordisplaying 3D content.

The implementations of the present invention can comprise a specialpurpose or general-purpose computing systems. Computing systems may, forexample, be handheld devices, appliances, laptop computers, desktopcomputers, mainframes, distributed computing systems, or even devicesthat have not conventionally considered a computing system, such as DVDplayers, Blu-Ray Players, gaming systems, and video converters. In thisdescription and in the claims, the term “computing system” is definedbroadly as including any device or system (or combination thereof) thatincludes at least one physical and tangible processor, and a physicaland tangible memory capable of having thereon computer-executableinstructions that may be executed by the processor.

The memory may take any form and may depend on the nature and form ofthe computing system. A computing system may be distributed over anetwork environment and may include multiple constituent computingsystems. In its most basic configuration, a computing system typicallyincludes at least one processing unit and memory. The memory may bephysical system memory, which may be volatile, non-volatile, or somecombination of the two. The term “memory” may also be used herein torefer to non-volatile mass storage such as physical storage media. Ifthe computing system is distributed, the processing, memory and/orstorage capability may be distributed as well. As used herein, the term“module” or “component” can refer to software objects or routines thatexecute on the computing system. The different components, modules,engines, and services described herein may be implemented as objects orprocesses that execute on the computing system (e.g., as separatethreads).

Implementations of the present invention may comprise or utilize aspecial purpose or general-purpose computer including computer hardware,such as, for example, one or more processors and system memory, asdiscussed in greater detail below. Embodiments within the scope of thepresent invention also include physical and other computer-readablemedia for carrying or storing computer-executable instructions and/ordata structures. Such computer-readable media can be any available mediathat can be accessed by a general purpose or special purpose computersystem. Computer-readable media that store computer-executableinstructions are physical storage media. Computer-readable media thatcarry computer-executable instructions are transmission media. Thus, byway of example, and not limitation, embodiments of the invention cancomprise at least two distinctly different kinds of computer-readablemedia: computer storage media and transmission media.

Computer storage media includes RAM, ROM, EEPROM, CD-ROM or otheroptical disk storage, magnetic disk storage or other magnetic storagedevices, or any other medium which can be used to store desired programcode means in the form of computer-executable instructions or datastructures and which can be accessed by a general purpose or specialpurpose computer.

A “network” is defined as one or more data links that enable thetransport of electronic data between computer systems and/or modulesand/or other electronic devices. When information is transferred orprovided over a network or another communications connection (eitherhardwired, wireless, or a combination of hardwired or wireless) to acomputer, the computer properly views the connection as a transmissionmedium. Transmissions media can include a network and/or data linkswhich can be used to carry or desired program code means in the form ofcomputer-executable instructions or data structures and which can beaccessed by a general purpose or special purpose computer. Combinationsof the above should also be included within the scope ofcomputer-readable media.

Further, upon reaching various computer system components, program codemeans in the form of computer-executable instructions or data structurescan be transferred automatically from transmission media to computerstorage media (or vice versa). For example, computer-executableinstructions or data structures received over a network or data link canbe buffered in RAM within a network interface module (e.g., a “NIC”),and then eventually transferred to computer system RAM and/or to lessvolatile computer storage media at a computer system. Thus, it should beunderstood that computer storage media can be included in computersystem components that also (or even primarily) utilize transmissionmedia.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. The computerexecutable instructions may be, for example, binaries, intermediateformat instructions such as assembly language, or even source code.Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described above.Rather, the described features and acts are disclosed as example formsof implementing the claims.

Those skilled in the art will appreciate that the invention may bepracticed in network computing environments with many types of computersystem configurations, including, personal computers, desktop computers,laptop computers, message processors, hand-held devices, multi-processorsystems, microprocessor-based or programmable consumer electronics,network PCs, minicomputers, mainframe computers, mobile telephones,PDAs, pagers, routers, switches, and the like. The invention may also bepracticed in distributed system environments where local and remotecomputer systems, which are linked (either by hardwired data links,wireless data links, or by a combination of hardwired and wireless datalinks) through a network, both perform tasks. In a distributed systemenvironment, program modules may be located in both local and remotememory storage devices.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. The scope of the invention is, therefore, indicatedby the appended claims rather than by the foregoing description. Allchanges which come within the meaning and range of equivalency of theclaims are to be embraced within their scope.

1. At a computer system, the computer system including one or moreprocessors and a memory, a method of formatting three-dimensional videocontent for display on a low-frame rate display device by decodingthree-dimensional video content into two frame buffers, the methodcomprising the acts of: receiving an input three-dimensional videosignal, the input three-dimensional video signal comprising one or morevideo frames including image data for viewing by a first eye and imagedata for viewing by a second eye; generating a first frame buffer fromthe input three-dimensional video signal that includes a complete firstimage for viewing by the first eye; generating a second frame bufferfrom the input three-dimensional video signal that includes a completesecond image for viewing by the second eye; and generating an outputthree-dimensional video signal by encoding the complete first image fromthe first frame buffer into a first video frame and encoding thecomplete second image from the second frame buffer into a second videoframe.
 2. The method of claim 1, further comprising transmitting theoutput three-dimensional video signal to a display device.
 3. The methodof claim 1, wherein generating the first frame buffer and generating thesecond frame buffer comprises decoding first image data and second imagedata from a plurality of interlaced video frames.
 4. The method of claim1, wherein: generating the first frame buffer comprises decoding firstimage data from a single progressive video frame; and generating thesecond frame buffer comprises decoding second image data from adifferent progressive video frame.
 5. The method of claim 1, whereingenerating the first frame buffer and generating the second frame buffercomprises decoding the complete first image and the complete secondimage from a single spatially-compressed video frame.
 6. The method ofclaim 1, further comprising determining an encoding type of the inputthree-dimensional video signal.
 7. The method of claim 1, whereingenerating the first frame buffer and generating the second frame buffercomprises decoding the input three-dimensional video signal with acomposite decoder that decodes a plurality of three-dimensional
 8. Themethod of claim 1, wherein: encoding the complete first image from thefirst frame buffer comprises encoding the complete first image into afirst plurality of interlaced video frames that include the first videoframe; and encoding the complete second image from the second framebuffer comprises encoding the complete second image into a secondplurality of interlaced video frames that include the second videoframe.
 9. The method of claim 1, wherein: encoding the complete firstimage from the first frame buffer comprises encoding the first imageinto a progressive video frame that comprises the first video frame; andencoding the complete second image from the second frame buffercomprises encoding the second image into a different progressive videoframe that comprises the second video frame.
 10. The method of claim 1,further comprising: sending the output three-dimensional video signal toa display device; and transmitting a blanking signal to one or moreblanking devices, the blanking signal instructing the one or moreblanking devices to blank the entire display of the outputthree-dimensional video signal during at least a portion of the displayof a transition between a portion of the complete first image and aportion of the complete second image.
 11. The method of claim 1, whereingenerating the output three-dimensional video signal comprises at leastone of upscaling or downscaling a frame rate of the outputthree-dimensional video signal compared to a frame rate of the inputthree-dimensional video signal.
 12. At a computer system, the computersystem including one or more processors and a memory, a method ofdecoding a video frame into two frame buffers to generate athree-dimensional video signal capable of display on a low-frame ratedisplay device, the method comprising the acts of: receiving an inputvideo frame of a three-dimensional video signal, the input video frameincluding a first image for viewing by a first eye and second image forviewing by a second eye; decoding the first image of the input videoframe into a first frame buffer; decoding the second image of the inputvideo frame into a second frame buffer; and encoding a first outputvideo frame from the first frame buffer, the first output video frameincluding image data from only the first image; and encoding a secondoutput video frame from the second frame buffer, the second output videoframe including image data from only the second image.
 13. The method ofclaim 12, further comprising determining a three-dimensional encodingtype of the input video frame.
 14. The method of claim 12, furthercomprising generating an output three-dimensional video signal with anupscaled frame by including duplicate output video frames of the firstoutput video frame and the second output video frame.
 15. The method ofclaim 12, further comprising: generating a blanking signal that includesa plurality of blanking instructions, including: a first blankinginstruction directing one or more blanking devices to blank at least aportion of the first eye's view of a display device during display ofthe first output video frame, a second blanking instruction directingthe one or more blanking devices to blank at least a portion of thesecond eye's view of the display device during display of the secondoutput video frame, and a third blanking instruction directing the oneor more blanking devices to blank both the first and second eye's viewof the display device during display of at least a portion of atransition between display of the first output video frame and thesecond output video frame; and transmitting the blanking signal to theone or more blanking devices.
 16. The method of claim 12, wherein theinput video frame encodes both the first image and the second imageusing a spatial compression technique, including at least one ofover-under or side-by side.
 17. The method of claim 12, furthercomprising transmitting the first output video frame and the secondoutput video frame to a display device.
 18. The method of claim 12,wherein decoding the first image of the input video frame into a firstframe buffer includes parsing the first image from the input video frameand storing only image data from the first image in the first framebuffer.
 19. The method of claim 18, wherein decoding the second image ofthe input video frame into a second frame buffer includes parsing thesecond image from the input video frame and storing only image data fromthe second image in the first frame buffer.
 20. A computer programproduct for implementing a method for formatting three-dimensional videocontent for display on a low-frame rate display device by decodingthree-dimensional video content into two frame buffers, the computerprogram product for use at a computer system, the computer programproduct comprising computer-executable instructions that, when executedby the computer system, cause one or more processors of the computersystem to perform a method comprising the acts of: receiving an inputthree-dimensional video signal, the input three-dimensional video signalcomprising one or more video frames including image data for viewing bya first eye and image data for viewing by a second eye; generating afirst frame buffer from the input three-dimensional video signal thatincludes a complete first image for viewing by the first eye; generatinga second frame buffer from the input three-dimensional video signal thatincludes a complete second image for viewing by the second eye; andgenerating an output three-dimensional video signal by encoding thecomplete first image from the first frame buffer into a first videoframe and encoding the complete second image from the second framebuffer into a second video frame.